home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_lib.arc / UTINIT.C < prev    next >
Text File  |  1990-08-09  |  1KB  |  42 lines

  1. /**
  2. *
  3. *  Name         utinit -- Initialize registers for call to dos
  4. *
  5. *  Synopsis     iret = utinit(preg);
  6. *               int iret          Return value is always 0
  7. *               struct dreg *preg Pointer to dos register structure
  8. *
  9. *  Description  This function initializes the registers pointed to by
  10. *               preg to the default values in preparation for a
  11. *               call to the DOS gate, dos.  The DS and ES registers
  12. *               are set to the current values, but all other registers
  13. *               are set to 0.
  14. *
  15. *  Version      1.1  (C)Copyright Blaise Computing Inc.  1983, 1984
  16. *
  17. **/
  18. struct dreg
  19. {
  20.   unsigned ax,bx,cx,dx,si,di,ds,es;
  21. };
  22.  
  23. int utinit(preg)
  24. struct dreg *preg;
  25. {
  26.  
  27.     unsigned cs,ss,ds,es;
  28.  
  29.     utsreg(&cs,&ss,&ds,&es);
  30.     preg->ds = ds;                     /* Default Data Segment         */
  31.     preg->es = es;                     /* Extra segment value          */
  32.     preg->ax = 0;
  33.     preg->bx = 0;
  34.     preg->cx = 0;
  35.     preg->dx = 0;
  36.     preg->si = 0;
  37.     preg->di = 0;
  38.  
  39.     return(0);
  40.  
  41. }
  42.